/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 言初
 * Date: 2022-10-28
 * Time: 12:09
 */
public class Test {

    public static void main(String[] args) {
        //条件运算符：（三目运算符）
        System.out.println((true==true)?((true==true)?false:true):true); //false
    }
    public static void main9(String[] args) {
        int a=1;
        int b=3;
        //当 & 的2边都是布尔值的时候，它也相当与是逻辑运算了
        System.out.println(a==1&b==3);//true
        System.out.println(a==2&b==3);//false
        // System.out.println(a==2&(1/0)==1);//会报错，这个是按位与 & 操作符，不能短路求值了，a==2是错的，但是还是会继续向下执行
    }
    public static void main8(String[] args) {
        int a=10;
        int b=20;
        System.out.println(a==10||b==3);//true
        System.out.println(a==2||b==3);//false
        System.out.println(a==10||(1/0)==1);//true
    }
    public static void main7(String[] args) {
        int a=1;
        int b=3;
        System.out.println(a==1&&b==3); //true
        System.out.println(a==2&&b==3); //false

        //System.out.println(1/0); // 报错
        System.out.println(a==2&&(1/0)==1);//不报错 ---> false && 短路与----> a==2已经为假，所以不会执行后面的了
    }
    public static void main6(String[] args) {
        System.out.println(1<4);
        System.out.println(1<=4);
        System.out.println(1>4);
        System.out.println(1>=4);
        System.out.println(1!=4);
        System.out.println(1==4);
        //输出结果就是 true 或者 false
        //System.out.println(0<1<100);
        //这个是不对的，0<1的结果是true 是不能和100比较的
    }
    public static void main5(String[] args) {
        int i=10;
        i=i++;
        //记住这个结论就可以了
        System.out.println(i); //10
    }
    public static void main4(String[] args) {
        int a=10;
        a++;
        System.out.println(a); //11

        int b=20;
        int c=b++;//后置++，先使用后++  ---> c=b ---> b=b+1

        int f=20;
        int d=++f; //前置++，先++ ，后使用，---> f=f+1 --->d=f
        System.out.println(c);//20
        System.out.println(d);//21
    }
    public static void main3(String[] args) {
        int a=10;
        a+=1; //a=a+1
        System.out.println(a); //11

        short sh=10;
        //sh=sh+4; //error
        sh+=4; //可以理解成，帮助我们进行了类型的转换
        System.out.println(sh); //14
    }
    public static void main2(String[] args) {
        System.out.println(10%3); // 10%3 --->  1
        System.out.println(-10%3); // -10%3 ---> 3*(-3)+(-1) ---> -1
        System.out.println(10%-3); //10%-3 ---> -3*(-3)+1 --->  1
        System.out.println(-10%-3); // -10%-3 ---> -3*3+(-1) ---> -1
        //取模运算符在C语言种是不能运算小数的，但是在Java中是可以的
        System.out.println(12.5%2); // 0.5
    }
    public static void main1(String[] args) {
        System.out.println(5/2); // 5/2 --->  2
        System.out.println((float)5/2); // 5.0/2 --->  2.5
        System.out.println(5/(float)2); // 5/2.0  --->  2.5
        System.out.println((float)(5/2)); // 5/2 ---> 2 --> (float)2 --> 2.0
    }
}
